LandXML Discussion

Survey procedures

Up to about 1980 the process was:
Survey the surround and minimise the misclose in each traverse loop by distributing the angular misclose and by judicious of rounding of the measured dimensions.
During the calculation process, distribute the overall misclose so that all lots share a portion of the overall error.

From about 1980, calculation software started to become widely used and these systems were "coordinate based" rather than being "measurement based" So it was necessary to completely adjust out traverse miscloses and adopt a "perfect" surround before calculating the lots dimensions.
The plan was then drawn using data from the calculations together with the field observations. The drawing was done manually, or partly from the calculation package or by using drawing software.

So the plan reflects the results from field observations, the analysis of previous plans and judgement on the assessment of the monuments found in the field and the results from the calculation software.
It is a snapshot of a segment of the cadastre viewed in isolation. It is far more than what is contained in the calculation software data file.

The checking and charting process in the Land Titles Office includes the examination the mathematical correctness of the plan and the definition used for each boundary. Traditionally this has been a point by point and line by line examination for each boundary.

The checking and charting process for plans supplied in LandXML format can be largely automated and this is the main reason behind this development. In addition, by comparing this data against a "model" made up from all of the previous plan data, the examiners can do a full "spatial " comparison which is far more rigorous than a simple "line by line" approach

In the Northern Territory, they have entered all of the dimensional data from all their subdivision plans and built a numerical cadastre. In areas where the definition is very accurate the coordinates are "proclaimed" as being the primary boundary evidence. Surveyors both send and receive data in digital format, so both benefit. Their DCDB is "survey accurate" and for fencing purposes many boundaries are marked using GPS.

NSW is about to convert all existing plans to LandXML format and this will probably be a precursor to the generation of a digital cadastre. The software to do this has existed since about 1990 and ESRI incorporated it as a standard option in ArcMap from about 2004. ArcMap is the mostly widely used GIS system world wide and digital modelling of the cadastre is proceeding in many countries including the USA. Surveying is but one link in the chain to create and manage a secure land titles system and technology changes can be used as opportunity to re-examine the whole subdivision and land boundary definition process.

The first difficulty is the structure of the software used by most surveying firms. Most are simple calculation packages working in a "flat earth" system. Some like Geosurvey are hybrids which can work with projected coordinate systems (such as MGA) and use "ground distances" for their calculations. In these systems, the coordinate is the corner and all dimensions are directly related to the coordinates.
Some like Geocadastre treat survey plan data as pseudo "observations" to determine the most likely coordinates for parcel corners. So the dimensions are the "data" and the coordinates are the derived information. In logic it is almost the inverse of Geosurvey.
We have often discussed the idea of amalgamating the two packages and in ArcMap you have both cadastral modelling as well as full calculation functions.

To look at some of these issues we should look at the file structures.

ACS file Layout
The layout and format follows industry standards which were used prior to the development of XML.
It is broken up into sections and at the start of each section there is a section title enclosed in square brackets.
The standard sections are as follows:
[JOB PARAMETERS]
[DISPLAY WINDOW]
{LAYERS]
[SHEETS]
[VIEWPORTS]
[POINTS]
[STRINGS]
[TEXT]
Within each section each item has a name by name followed by an equals sign.
For example the details for a point would be as follows:
PT=2, X=374540.008761,Y=6348907.444551, Z=16.3678


Each object can also have "extra attributes" for features which may be needed for a specific process.
These items each have a name, a value and a type for example:
ExtAttName="MkType",ExtAttValue="14",ExtAttType=3


In addition you may have the following if you are working with topographical data or road calculations.
[SECTIONS]
[LS_PLOT_REQUESTS]
[CS_PLOT_REQUESTS]
[CSTEMPLATES]
[TRIANGLES]
[POLYLINES]


For subdivision work, each parcel is defined by "stringing" together the point numbers for the parcel corners.
A string definition for lot 20 in DP1193494 would be as follows:
Name="20/1193494",Type="Lot",Layer="Geom Points",Entity=2,PT=3,PT=2,PT=10,PT=8,PT=5,PT=3


When you generate a plot, the parcel dimensions are generated from the point coordinate values and the string definition.

For the Landxml work, three new object types will be included.
[CONTROL]
[PLANS]
[PARCELS]


A control is always associated with a point, but it also has its own coordinates which may be different from those of the associated point. It also has a name and whether it is active or not.
PT=25,X=374717.250000,Y=6349221.080000,NAME="PM81054",ACTIVE=Y,&


Each plan has a date, surveyor, description and the plan units.
Name="1193494", SurveyDate="2013-02-23", Surveyor="Bill Smith", Company="AGL Surveys", Descr="Redefinition of Lot 2 DP606827", Units=M


It may also have other attributes and extended attributes.
Each parcel is associated with a plan and it has a heading section, followed by a list of parcel dimensions.
The heading has the lot and plan, the lot centroid and other data.
Plan="1193494", Lot="20", UserId=3456, CentroidX=374601.169, Centroid Y=6348996.838, Joined,


Parcels can also have extra attributes which can be defined in the config file

Each line has a "from" and "to" point together with the line dimensions and other information.
From=3, To=2, Brg=2785540, Dist=108.8300, Cat=0,&
From=2, To=10,Brg=3142500, Dist=19.7850, Cat=0,&
From=10,To=8, Brg= 85720, Dist=183.5100, Cat=0,&


Lines can also have extra attributes which can be defined in the config file.
These attributes may be for the line or for the "to" point in the line.

XML files

In XML, sections are enclosed in angle brackets, for example:
<CoordinateSystem datum="MGA" horizontalDatum="Local" />

relationships can be nested to show relationships.
<family>
    <parents>
        <Mother name=sarah age =37 hair_colour = red height = 1.45>
        <father name=fred age = 38>
    </parents>
    <children>
        <Son name=bill age = 11>
        <daughter name=joan age=6>
    </children>
</family>

So in concept, XML files are similar to the .ACS files, but they have different syntax and this allows them to define complex relationships.

LandXML files

This is an XML protocol with a designated set of key words and was designed to hold the data from a survey.
This is reflected in the way that dimension data in the held in the file.
A committee of ICSM has defined a subset of the LandXML protocol for use in transmitting plans of subdivision
and in NSW we use the key words outlined in their "recipe".

A LandXML file has five major sections:

Heading section

This has the version, reference information for the key words used and other basic data for the file.
<?xml version="1.0" encoding="UTF-8"?>
    <LandXML version="1.0" date="2014-11-05" time="12:11:45"
 xmlns="http://www.landxml.org/schema/LandXML-1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.landxml.org/schema/LandXML-1.2 http://www.landxml.org/schema/LandXML-1.2/LandXML-1.2.xsd">

<Units>
  <Metric linearUnit="meter" temperatureUnit="celsius" volumeUnit="cubicMeter" areaUnit="squareMeter" pressureUnit="milliBars" angularUnit="decimal dd.mm.ss" directionUnit="decimal dd.mm.ss" />
</Units>

<CoordinateSystem datum="MGA" horizontalDatum="Local" /><Application name="GeoSurvey" version="7.53" />
<FeatureDictionary name="ReferenceDataContext" version="NSW-101013" >
  <DocFileRef name="au-gov-nsw-icsm-cif-enumerated-types.xsd" location="http://www.lpi.nsw.gov.au/__data/assets/xml_file/0010/137368/xml-govau-nsw-icsm-eplan-cif-referencedata-101013.xml" />
</FeatureDictionary>


Points Data

This has the coordinates for each point and other point data.
The data is similar to that in the [POINTS] section of the .ACS file.
<CgPoints zoneNumber="56" > 
  <CgPoint state="existing" pntSurv="boundary" name="1">6348911.074492 374516.907040</CgPoint>
  <CgPoint state="existing" pntSurv="boundary" name="2">6348907.444551 374540.008761</CgPoint>
  <CgPoint state="proposed" pntSurv="boundary" name="3">6348890.555007 374647.497444</CgPoint>
  <CgPoint state="existing" pntSurv="boundary" name="5">6349083.178575 374677.588063</CgPoint>
  <CgPoint state="existing" pntSurv="boundary" name="6">6349178.838403 374692.531527</CgPoint>
  <CgPoint state="existing" pntSurv="control" oID="79207" desc="A" name="23">6348891.222000 374652.086000</CgPoint>
  <CgPoint state="existing" pntSurv="control" oID="79141" name="24">6348833.514000 374721.056000</CgPoint>
  <CgPoint state="existing" pntSurv="control" oID="81054" desc="B" name="25">6349221.080000 374717.250000</CgPoint>
  <CgPoint state="proposed" pntSurv="sideshot" name="34">6348996.837937 374601.168684 </CgPoint>
  <CgPoint state="existing" pntSurv="sideshot" name="37">6349044.967395 374542.078494 </CgPoint>
  <CgPoint state="existing" pntSurv="sideshot" name="38">6349170.299546 374517.275029 </CgPoint>
</CgPoints>

Parcels Data

Each parcel has a heading section followed by the point numbers of the parcel corners in sequence.
The data is similar to that in the {STRINGS} section of the .ACS file.
<Parcels>
  <Parcel name="20" class="Lot" state="proposed" parcelType="Single" parcelFormat="Standard">
    <Center pntRef="34"/>
    <CoordGeom name="201193494">
      <Line>
        <Start pntRef="3"/>
        <End pntRef="2"/>
      </Line>
      <Line>
        <Start pntRef="2"/>
        <End pntRef="10"/>
      </Line>
      <Line>
        <Start pntRef="10"/>
        <End pntRef="8"/>
      </Line>
      <Line>
        <Start pntRef="8"/>
        <End pntRef="2"/>
      </Line>
    </CoordGeom>
  </Parcel>
  <Parcel name="1/606827" class="Lot" state="adjoining" parcelType="Single" parcelFormat="Standard">
    <Center pntRef="35"/>
  	<CoordGeom name="1606827">
      <Line>
        <Start pntRef="8"/>
        <End pntRef="9"/>
      </Line>
      <Line>
        <Start pntRef="9"/>
        <End pntRef="6"/>
      </Line>
      <Line>
        <Start pntRef="6"/>
        <End pntRef="5"/>
      </Line>
      <Line>
        <Start pntRef="5"/>
        <End pntRef="8"/>
      </Line>
    </CoordGeom>
  </Parcel>
</Parcels>

The Survey section

The first part has the plan information similar to the [PLANS} section of the .ACS file.
<Survey>
  <SurveyHeader name="1193494" jurisdiction="New South Wales" desc="Redefinition of Lot 2 DP606827"
 surveyorFirm="Monteath and Powys" surveyFormat="Standard" type="surveyed"> <Personnel name="David Luke Sullivan" />
  <Annotation type="Plans Used" name="1" desc="DP106406, DP221967, DP606827, DP8054323,DP1078978"/>
  <AdministrativeArea adminAreaType="Local Government Area" adminAreaName="Lake Macquarie"/>
  <AdministrativeArea adminAreaType="Locality" adminAreaName="Mount Hutton"/>
  <AdministrativeArea adminAreaType="Parish" adminAreaName="Kahibah"/>
  <AdministrativeArea adminAreaType="County" adminAreaName="Northumberland"/>
</SurveyHeader>

It also has a cross reference table to equate each point number to the point name that was used in the field as an instrument set up point or a target set up point.
<InstrumentSetup id="IS2" stationName="2" instrumentHeight="0">
  <InstrumentPoint pntRef="2"/>
</InstrumentSetup>
<InstrumentSetup id="IS3" stationName="3" instrumentHeight="0">
  <InstrumentPoint pntRef="3"/>
</InstrumentSetup>
<InstrumentSetup id="IS5" stationName="5" instrumentHeight="0">
  <InstrumentPoint pntRef="5"/>
Following that are the measurements for all of the lines
<ObservationGroup id="OG-1"> <ReducedObservation name="1" desc="Boundary" setupID="IS3" targetSetupID="IS2" 
        azimuth="278.554" horizDistance="108.830"  distanceType="Measured" />
  <ReducedObservation name="2" desc="Boundary" setupID="IS2" targetSetupID="IS10" azimuth="314.25" horizDistance="19.785"  
        distanceType="Measured" />
  <ReducedObservation name="3" desc="Boundary" setupID="IS10" targetSetupID="IS8" azimuth="8.572" horizDistance="183.510"  
        distanceType="Measured"/>
  <ReducedObservation name="4" desc="Boundary" setupID="IS8" targetSetupID="IS5" azimuth="98.554" horizDistance="124.690"  
        distanceType="Measured"/>
</Survey>

The Monuments Section

This has information describing the survey monuments. In the .ACS file this information would be held as extended attributes.
<Monuments>
  <Monument name="1" pntRef="25" type="PM" state="Existing" condition="Reliable" />
  <Monument name="2" pntRef="23" state="Existing" condition="Reliable" type="PM" />
  <Monument name="3" pntRef="24" state="Existing" condition="Reliable" type="PM" />
</Monuments>
</LandXML>